1. Field of the Invention
The present invention generally relates to computer-implemented transaction processing systems, and in particular, to a method for efficient sequence number generation in a multi-system data-sharing environment.
2. Description of Related Art
A database management system (DBMS) usually assigns a unique sequence number (SN) to fields, records, etc. Generally, the SNs comprise values assigned a monotonically increasing value in an ascending sequence, although they can encompass other values and sequences as well.
A problem arises, however, in that the sequence number assignment is an update operation to a record which is locked until the assignment completes. This serializes other applications that also use the sequence number assignment, because they wait for the updated record to be unlocked in order to receive their sequence number assignment. In a multi-system DBMS environment, e.g., where there is data sharing, an update of this record causes serialization across all systems, which inhibits throughput. Furthermore, if a system were to fail while holding the lock on the record, other systems are prevented from accessing the record until restart recovery is performed for the failed system, which inhibits availability.
Thus, there is a need in the art for improved techniques for assigning sequence numbers without serialization.